home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / sound / nes_apu.h < prev    next >
C/C++ Source or Header  |  2000-04-04  |  2KB  |  54 lines

  1. /*****************************************************************************
  2.  
  3.   MAME/MESS NES APU CORE
  4.  
  5.   Based on the Nofrendo/Nosefart NES N2A03 sound emulation core written by
  6.   Matthew Conte (matt@conte.com) and redesigned for use in MAME/MESS by
  7.   Who Wants to Know? (wwtk@mail.com)
  8.  
  9.   This core is written with the advise and consent of Matthew Conte and is
  10.   released under the GNU Public License.  This core is freely avaiable for
  11.   use in any freeware project, subject to the following terms:
  12.  
  13.   Any modifications to this code must be duly noted in the source and
  14.   approved by Matthew Conte and myself prior to public submission.
  15.  
  16.  *****************************************************************************
  17.  
  18.    NES_APU.H
  19.  
  20.    NES APU external interface.
  21.  
  22.  *****************************************************************************/
  23.  
  24. #ifndef NES_APU_H
  25. #define NES_APU_H
  26.  
  27. #include "driver.h"
  28. #define MAX_NESPSG 2
  29.  
  30. /* AN EXPLANATION
  31.  *
  32.  * The NES APU is actually integrated into the Nintendo processor.
  33.  * You must supply the same number of APUs as you do processors.
  34.  * Also make sure to correspond the memory regions to those used in the
  35.  * processor, as each is shared.
  36.  */
  37. struct NESinterface
  38. {
  39.    int num;                 /* total number of chips in the machine */
  40.    int region[MAX_NESPSG];  /* DMC regions */
  41.    int volume[MAX_NESPSG];
  42. };
  43.  
  44. READ_HANDLER( NESPSG_0_r );
  45. READ_HANDLER( NESPSG_1_r );
  46. WRITE_HANDLER( NESPSG_0_w );
  47. WRITE_HANDLER( NESPSG_1_w );
  48.  
  49. extern int NESPSG_sh_start(const struct MachineSound *);
  50. extern void NESPSG_sh_stop(void);
  51. extern void NESPSG_sh_update(void);
  52.  
  53. #endif
  54.